/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * registro_ciudad.java
 *
 * Created on 02/10/2013, 02:15:30 PM
 */

package registro;

/**
 *
 * @author Miguel
 */

import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import utilitarios.conexion;
public class registro_ciudad extends javax.swing.JFrame {
    //Definimos todas las variables que vamos a necesitar

    conexion conecta_ciudad;// Conexion con BD
    int btn_clicado = 0; //variable que almacena cual boton fue clicado
    /** Creates new form registro_ciudad */
    public registro_ciudad() {
        initComponents();

        conecta_ciudad = new conexion();
        conecta_ciudad.conectar();
        conecta_ciudad.executeSQL("select * from ciudad order by codigo");//este metodo executeSQL es el que esta en mi clase conexion
   try
        {
            while(conecta_ciudad.resulset.next())//codigo buscar Combo BOX
              {
                  cb_buscar.addItem(conecta_ciudad.resulset.getString("nombre"));
              }                    
            conecta_ciudad.resulset.first();
            tf_codigo.setText(conecta_ciudad.resulset.getString("codigo"));
            tf_nombre.setText(conecta_ciudad.resulset.getString("nombre"));
            cb_dpto.setSelectedItem(conecta_ciudad.resulset.getString("dpto"));
            
        }
        catch (SQLException erro)
           {
                JOptionPane.showMessageDialog(null,"No hay datos "+erro);
           }
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        lbl_ciudad = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        tf_codigo = new javax.swing.JTextField();
        tf_nombre = new javax.swing.JTextField();
        cb_dpto = new javax.swing.JComboBox();
        jPanel2 = new javax.swing.JPanel();
        btn_primero = new javax.swing.JButton();
        btn_siguiente = new javax.swing.JButton();
        btn_anterior = new javax.swing.JButton();
        btn_ultimo = new javax.swing.JButton();
        btn_grabar = new javax.swing.JButton();
        btn_nuevo = new javax.swing.JButton();
        btn_modificar = new javax.swing.JButton();
        btn_borrar = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jLabel4 = new javax.swing.JLabel();
        cb_buscar = new javax.swing.JComboBox();
        btn_buscarC = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Mantenimiento de Registro de Ciudades.");

        lbl_ciudad.setFont(new java.awt.Font("Tahoma", 1, 18));
        lbl_ciudad.setForeground(new java.awt.Color(153, 0, 0));
        lbl_ciudad.setText("Registro de Ciudades");

        jPanel1.setBackground(new java.awt.Color(204, 204, 255));
        jPanel1.setForeground(new java.awt.Color(204, 204, 255));

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel1.setText("Código.:");

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel2.setText("Nombre.:");

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel3.setText("Dpto.:");

        cb_dpto.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Concepción", "San Pedro", "Cordillera", "Guairá", "Caaguazú", "Caazapá", "Itapúa", "Misiones", "Paraguarí", "Alto Paraná", "Central", "Ñeembucú", "Canindeyu", "Presidente Hayes", "Alto Paraguay", "Boquerón", " " }));

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addGap(18, 18, 18)
                        .addComponent(cb_dpto, 0, 255, Short.MAX_VALUE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(tf_nombre, javax.swing.GroupLayout.PREFERRED_SIZE, 252, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel1)
                        .addGap(10, 10, 10)
                        .addComponent(tf_codigo, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(66, 66, 66))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(tf_codigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(tf_nombre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel3)
                    .addComponent(cb_dpto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel2.setBackground(new java.awt.Color(204, 204, 255));

        btn_primero.setIcon(new javax.swing.ImageIcon("C:\\systock\\systock\\imagen\\control_start_blue.png")); // NOI18N
        btn_primero.setToolTipText("Va para el primer registro");
        btn_primero.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_primeroActionPerformed(evt);
            }
        });

        btn_siguiente.setIcon(new javax.swing.ImageIcon("C:\\systock\\systock\\imagen\\control_fastforward_blue.png")); // NOI18N
        btn_siguiente.setToolTipText("Avanza para el siguiente registro");
        btn_siguiente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_siguienteActionPerformed(evt);
            }
        });

        btn_anterior.setIcon(new javax.swing.ImageIcon("C:\\systock\\systock\\imagen\\control_rewind_blue.png")); // NOI18N
        btn_anterior.setToolTipText("Lleva al registro anterior");

        btn_ultimo.setIcon(new javax.swing.ImageIcon("C:\\systock\\systock\\imagen\\control_end_blue.png")); // NOI18N
        btn_ultimo.setToolTipText("Va para el ultimo registro");
        btn_ultimo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_ultimoActionPerformed(evt);
            }
        });

        btn_grabar.setIcon(new javax.swing.ImageIcon("C:\\systock\\systock\\imagen\\accept.png")); // NOI18N
        btn_grabar.setText("Grabar");
        btn_grabar.setToolTipText("Grabar el registro");
        btn_grabar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_grabarActionPerformed(evt);
            }
        });

        btn_nuevo.setIcon(new javax.swing.ImageIcon("C:\\systock\\systock\\imagen\\icon-student.png")); // NOI18N
        btn_nuevo.setText("Nuevo");
        btn_nuevo.setToolTipText("Nuevo registro");
        btn_nuevo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_nuevoActionPerformed(evt);
            }
        });

        btn_modificar.setIcon(new javax.swing.ImageIcon("C:\\systock\\systock\\imagen\\update-20.png")); // NOI18N
        btn_modificar.setText("Modificar");
        btn_modificar.setToolTipText("Modificar el registro actual");
        btn_modificar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_modificarActionPerformed(evt);
            }
        });

        btn_borrar.setIcon(new javax.swing.ImageIcon("C:\\systock\\systock\\imagen\\excluded.png")); // NOI18N
        btn_borrar.setText("Borrar");
        btn_borrar.setToolTipText("Borrar el registro actual");
        btn_borrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_borrarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addGap(79, 79, 79)
                        .addComponent(btn_primero)
                        .addGap(10, 10, 10)
                        .addComponent(btn_anterior)
                        .addGap(18, 18, 18)
                        .addComponent(btn_siguiente)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btn_ultimo))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(btn_grabar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btn_nuevo)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btn_modificar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btn_borrar)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btn_primero)
                    .addComponent(btn_anterior)
                    .addComponent(btn_ultimo)
                    .addComponent(btn_siguiente))
                .addGap(7, 7, 7)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btn_grabar)
                    .addComponent(btn_nuevo)
                    .addComponent(btn_modificar)
                    .addComponent(btn_borrar))
                .addContainerGap())
        );

        jPanel3.setBackground(new java.awt.Color(204, 204, 255));

        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel4.setText("Buscar.:");

        btn_buscarC.setIcon(new javax.swing.ImageIcon("C:\\systock\\systock\\imagen\\buscar.png")); // NOI18N
        btn_buscarC.setText("Buscar");
        btn_buscarC.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_buscarCActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(cb_buscar, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
                .addComponent(btn_buscarC)
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel4)
                .addComponent(cb_buscar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(btn_buscarC))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(141, 141, 141)
                .addComponent(lbl_ciudad)
                .addContainerGap(162, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(46, 46, 46))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(46, 46, 46)))
                .addGap(78, 78, 78))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lbl_ciudad)
                .addGap(18, 18, 18)
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(2, 2, 2)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(101, Short.MAX_VALUE))
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-500)/2, (screenSize.height-400)/2, 500, 400);
    }// </editor-fold>//GEN-END:initComponents

    private void btn_siguienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_siguienteActionPerformed
        // Codigo que controlar avanzar en un registro
        try
        {
        conecta_ciudad.resulset.next();//Primero hacemos la conexion y luego con next avanzamos al siguiente registro
         mostrar_datos();
        }
        catch (SQLException erro)
           {
                JOptionPane.showMessageDialog(null,"No es posible mostrar el siguiente registro "+erro);
           }

    }//GEN-LAST:event_btn_siguienteActionPerformed

    private void btn_primeroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_primeroActionPerformed
        // Codigo que controla volver al primer registro
        try
        {
         conecta_ciudad.resulset.first();//Primero hacemos la conexion y luego con first conseguimos ir al primer registro
         mostrar_datos();
         btn_clicado = 1;

        }
        catch (SQLException erro)
           {
                JOptionPane.showMessageDialog(null,"No es posible mostrar el primer registro "+erro);
           }
    }//GEN-LAST:event_btn_primeroActionPerformed

    private void btn_ultimoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_ultimoActionPerformed
        // Codigo que controla saltar al ultimo registro
        try
        {
            conecta_ciudad.resulset.last();//Primero hacemos la conexion y luego con last conseguimos saltar al ultimo registro
            mostrar_datos();
            btn_clicado = 4;
            
        }
        catch (SQLException erro)
           {
                JOptionPane.showMessageDialog(null,"No es posible mostrar el último registro "+erro);
           }
    }//GEN-LAST:event_btn_ultimoActionPerformed

    private void btn_nuevoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_nuevoActionPerformed
        // codigo para crear un nuevo registro
        try
      {
        conecta_ciudad.resulset.last();//primero hacemos la conexion y nos posicionamos en el ultimo registro
        int cod = conecta_ciudad.resulset.getInt("codigo")+1;//Le sumo un 1 para
        tf_codigo.setText("");//vacio el campo codigo
        tf_nombre.setText("");//vacio el campo nombre
        cb_dpto.setSelectedItem("Concepción");//asigno por defecto el primer Departamento
        tf_nombre.requestFocus();//Asigno el foco en Nombre
        tf_codigo.setEditable(false);//Evito que el codigo sea editable
        tf_codigo.setText(cod+"");//Agrego el valor del codigo
      }
      catch (SQLException e)
      {
        JOptionPane.showMessageDialog(null,"No es posible crear un nuevo registro  "+e);
      }
    }//GEN-LAST:event_btn_nuevoActionPerformed

    private void btn_grabarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_grabarActionPerformed
        // Codigo para grabar datos dentro de la BD
        try
        {
            //variable que guarda el String del codigo sql para realizar el insert
           String sqlInsert = "insert into ciudad (codigo,nombre,dpto) values ("+
                   tf_codigo.getText()+",'"+
                   tf_nombre.getText()+"','"+
                   cb_dpto.getSelectedItem()+"')";
           //Primero conecto con la BD y luego ejecuto el codigo de actualizacion del lado de la BD
                   conecta_ciudad.statement.executeUpdate(sqlInsert);
                   JOptionPane.showMessageDialog(null, "Grabacion realizada con exito");
                  conecta_ciudad.resulset= conecta_ciudad.statement.executeQuery("select * from ciudad order by codigo");
                actualiza_cb_ciudad();
                conecta_ciudad.resulset.first();
                mostrar_datos();
        }
        catch (SQLException e)
        {
         JOptionPane.showMessageDialog(null,"Error al intentar grabar el registro  "+e);
        }

    }//GEN-LAST:event_btn_grabarActionPerformed

    private void btn_borrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_borrarActionPerformed
        // Codigo para eliminar un registro
        try
        {
           String sqlDel = "select * from ciudad where codigo ="+tf_codigo.getText();
                   conecta_ciudad.executeSQL(sqlDel);
                   conecta_ciudad.resulset.first();
                   //me aseguro que el usurio no borre el registro sin querer
                   String nombre = "Desea Borrar la Ciudad : "+ conecta_ciudad.resulset.getString("nombre")+" ";
                   int opcion_elegida = JOptionPane.showConfirmDialog(null,nombre," Borrar ", JOptionPane.YES_NO_OPTION);
                   if (opcion_elegida == JOptionPane.YES_OPTION)
                   {
                       sqlDel = "DELETE FROM ciudad where codigo ="+tf_codigo.getText();
                       int consigue_borrar = conecta_ciudad.statement.executeUpdate(sqlDel);//0 o 1, este metodo pertenece a statement
                       if(consigue_borrar == 1)
                       {
                           JOptionPane.showMessageDialog(null,"Registro eliminado con éxito");
                           //actualizo mi resulset
                           conecta_ciudad.executeSQL("select * from ciudad order by codigo");
                           actualiza_cb_ciudad();
                           conecta_ciudad.resulset.first();//posiciona al primer registro
                           mostrar_datos();//llama al metodo mostrar datos
                       }
                   }
                   else
                   {
                       return; //si la opcion que recibe es distinta de 1 simplemente retorna y no pasa nada
                   }
             }
        catch (SQLException e)
        {
         JOptionPane.showMessageDialog(null,"Error al intentar borrar el registro  "+e);
        }
    }//GEN-LAST:event_btn_borrarActionPerformed

    private void btn_modificarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_modificarActionPerformed
        // Codigo para actualizar
        try
        {
           String sqlUdpt = " update ciudad set nombre = '"+ tf_nombre.getText()+"',"+
                   "dpto = '"+cb_dpto.getSelectedItem()+"' where codigo = "+tf_codigo.getText();
                   conecta_ciudad.statement.executeUpdate(sqlUdpt);
                    JOptionPane.showMessageDialog(null, sqlUdpt);
                   JOptionPane.showMessageDialog(null, "Modificción realizada con exito");
       //Actualizo el resulset porque hice una actualizacion
                conecta_ciudad.resulset= conecta_ciudad.statement.executeQuery("select * from ciudad order by codigo");
                 actualiza_cb_ciudad();
                conecta_ciudad.resulset.next();
                mostrar_datos();
        }
        catch (SQLException e)
        {
         JOptionPane.showMessageDialog(null,"Error al intentar grabar el registro  "+e);
        }
    }//GEN-LAST:event_btn_modificarActionPerformed

    private void btn_buscarCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_buscarCActionPerformed
        //
        // Codigo para buscar en un Combo Box
         try
        {
          conecta_ciudad.resulset.first();
          String igual ="n";//inicio afirmando que el registro no esta disponible
         while (igual =="n")
          {
              //Si uno es igual al otro es porque encontre, entonces la variable cambia de valor
                if (conecta_ciudad.resulset.getString("nombre").equals(cb_buscar.getSelectedItem()))
                {
                    igual = "s";
                }
                else
                {
                     conecta_ciudad.resulset.next();
                }
          }
                tf_codigo.setText(conecta_ciudad.resulset.getString("codigo"));
                mostrar_datos();
        }
        catch (SQLException e)
        {
         JOptionPane.showMessageDialog(null,"No se puede localizar el registro buscado  "+e);
        }
    }//GEN-LAST:event_btn_buscarCActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new registro_ciudad().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btn_anterior;
    private javax.swing.JButton btn_borrar;
    private javax.swing.JButton btn_buscarC;
    private javax.swing.JButton btn_grabar;
    private javax.swing.JButton btn_modificar;
    private javax.swing.JButton btn_nuevo;
    private javax.swing.JButton btn_primero;
    private javax.swing.JButton btn_siguiente;
    private javax.swing.JButton btn_ultimo;
    private javax.swing.JComboBox cb_buscar;
    private javax.swing.JComboBox cb_dpto;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JLabel lbl_ciudad;
    private javax.swing.JTextField tf_codigo;
    private javax.swing.JTextField tf_nombre;
    // End of variables declaration//GEN-END:variables

    public void mostrar_datos()
{
  try
        {
            tf_codigo.setText(conecta_ciudad.resulset.getString("codigo"));
            tf_nombre.setText(conecta_ciudad.resulset.getString("nombre"));
            cb_dpto.setSelectedItem(conecta_ciudad.resulset.getString("dpto"));
        }
        catch (SQLException erro)
           {
               if(btn_clicado == 1)
               {
                   JOptionPane.showMessageDialog(null, "Usted ya esta en el primer registro");
               }
               else if (btn_clicado == 4)
               {
                JOptionPane.showMessageDialog(null, "Usted ya esta en el último registro");
               }
               else

                JOptionPane.showMessageDialog(null,"No hay datos "+erro);
               btn_clicado = 0;
           }
}

     public void actualiza_cb_ciudad()
        {
       try
          {
            cb_buscar.removeAllItems();//elimina todos los items antes de actualizar
            conecta_ciudad.executeSQL("select * from ciudad order by codigo");
            while(conecta_ciudad.resulset.next())//codigo buscar Combo BOX

             {
                  cb_buscar.addItem(conecta_ciudad.resulset.getString("nombre"));
             }
          }
        catch (SQLException erro)
           {
                JOptionPane.showMessageDialog(null,"No hay datos "+erro);
           }
    }

}
